package com.shujia.scala

import java.io.{BufferedReader, FileReader}
import java.util

object Demo2SscalaOnJava {
  def main(args: Array[String]): Unit = {


    /**
      * 变量和常量
      *
      * var： 变量
      * val : 常量
      *
      * 尽量使用val
      *
      *
      * scala中变量的类型可以自动推断
      * 通过等号右边的对象推断类型
      *
      */

    var str: String = "scala"

    str = "java"


    /**
      * scala中额字符串和java中的字符串是一样的
      *
      * 之前java中学过的所有的方法在scala中同样适用
      */

    //val split: Array[String] = str.split("")

    /**
      * scala对java中的类做了很多的扩展，增加了很多好用的方法（隐式转换）
      *
      */
    //获取头
    val head: Char = str.head

    println(head)

    //获取不包含头的所有元素
    println(str.tail)

    //获取最后一个元素
    println(str.last)


    println("=" * 100)
    /**
      * java中集合在scala中的使用
      *
      */

    val list = new util.ArrayList[Int]()

    list.add(1)
    list.add(2)
    list.add(3)

    println(list.get(1))
    println(list)


    //scala中变量java的集合

    var i = 0

    while (i < list.size()) {
      println(list.get(i))
      i += 1
    }


    /**
      * 在scala中使用java的io流
      *
      */


    val fileReader = new FileReader("data/students.txt")

    val bufferedReader = new BufferedReader(fileReader)


    //地区第一行
    var line: String = bufferedReader.readLine()

    while (line != null) {
      println(line)

      //读取下一行
      line = bufferedReader.readLine()
    }


  }

}
